my file learn about tech container (docker, podman, kubernetes)

http://ariaf.my.id/container_aria/docker file/13 - environment variable.html


env variable

  • environment variable instruction => merupakan instruksi yang digunakan untuk mengubah environment variable
    • baik ketika tahapan build atau ketika jalan dalam docker container
    • ENV yang sudah ddi definisikan di dalam Dockerfile bisa digunakan kembali dengan menggunakan sintaks ${NAMA_ENV}
    • environment variable yang dibuat menggunakan instruksi ENV disimpan di dalam docker image
      • dan bisa dilihat menggunakan perintah docker image inspect
    • selain itu, env var juga bisa diganti nilainya ketika pembuatan docker container
      • dengan perintah “docker contaienr create –env key=value” atau -e key=value

env

ENV key=value
ENV key1=value1 key2=value2

contoh

FROM golang:1.18-alpine

ENV APP_PORT=8080

RUN mkdir app
COPY main.go app/

EXPOSE ${APP_PORT}

CMD go run app/main.go

main.go

package main

import (
    "fmt"
    "net/http"
    "os"
)

func main() {
    port := os.Getenv("APP_PORT")
    fmt.Println("Run app in port : " + port)
    http.HandleFunc("/", HelloServer)
    http.ListenAndServe(":" + port, nil)
}

func HelloServer(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hello, World!")
}